#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
    //利用fork返回值不同，判断进程创建是否成功，设定不同的父子进程之间执行不同的代码
    //创建进程函数fork
    //fork创建：
    //    成功——子进程的pid返回给父进，0返回给子进程
    //    失败—（-1）返回给父进程，子进程不创建
    //成功：父进程的pid>0,子进程的pid=0
    printf("process is running!only me!pid:%d\n",getpid());
    sleep(3);
    //创建进程
    pid_t id=fork();
    if(id==-1) return 1;//进程创建失败
    else
    {
        if(id>0)//父进程
        {
            printf("I am parent process,pid:%d ,ppid:%d\n",getpid(),getppid());
            sleep(1);
       }
        else
        {
            printf("I am child process,pid:%d ,ppid:%d\n",getpid(),getppid());
            sleep(2);
        }
    }
    return 0;
}
